﻿#include<iostream>
#include<iomanip>
using namespace std;
/*设每亿人一年用去一个单位的资源，地球现有资源为 p，每个单位时间新生 q 个单位的资源。

考虑如何实现可持续发展，养活最多的人：

只用新生资源，把现有资源留着。
由题中关系可列等式：

p+aq−ax=p+bq−by
化简得：

q(a−b)=ax−by
得出 q 的值，即为地球最多养活人数：

q= 
a−b
ax−by
​
 
输出即可。

要求保留两位小数，可以用到 cout<<fixed<<setprecision(x)<<a<<endl;，意思是输出 a，保留 x 位小数。

将 a,b,x,y 用 double 类型储存，方便计算小数。*/
double x, a, y, b;
int main() {
	cin >> x >> a >> y >> b;
	cout << fixed << setprecision(2) << (x * a - y * b) / (a - b) << endl;
	/*scanf("%d%d%d%d", &x, &a, &y, &b);
	printf("%.2lf\n", 1.0 * (b * y - a * x) / (b - a));*/
	return 0;
}
//fixed：该操作符的作用是让浮点数以固定点的形式进行输出，也就是说不会采用科学计数法。
//setprecision(2)：此操作符用于设置输出的小数位数为 2 位，并且会遵循四舍五入原则。